node {
  name: "Variable/Initializer/initial_value"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@Variable"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_FLOAT
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_FLOAT
        tensor_shape {
        }
        float_val: 1
      }
    }
  }
}
node {
  name: "Variable"
  op: "VarHandleOp"
  device: "/job:localhost/replica:0/task:0/device:CPU:0"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@Variable"
      }
    }
  }
  attr {
    key: "allowed_devices"
    value {
      list {
      }
    }
  }
  attr {
    key: "container"
    value {
      s: ""
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_FLOAT
    }
  }
  attr {
    key: "shape"
    value {
      shape {
      }
    }
  }
  attr {
    key: "shared_name"
    value {
      s: "Variable"
    }
  }
}
node {
  name: "Variable/IsInitialized/VarIsInitializedOp"
  op: "VarIsInitializedOp"
  input: "Variable:0"
  device: "/job:localhost/replica:0/task:0/device:CPU:0"
}
node {
  name: "Variable/Assign"
  op: "AssignVariableOp"
  input: "Variable:0"
  input: "Variable/Initializer/initial_value:0"
  device: "/job:localhost/replica:0/task:0/device:CPU:0"
  attr {
    key: "dtype"
    value {
      type: DT_FLOAT
    }
  }
}
node {
  name: "Variable/Read/ReadVariableOp"
  op: "ReadVariableOp"
  input: "Variable:0"
  device: "/job:localhost/replica:0/task:0/device:CPU:0"
  attr {
    key: "dtype"
    value {
      type: DT_FLOAT
    }
  }
}
node {
  name: "StatefulPartitionedCall"
  op: "StatefulPartitionedCall"
  input: "Variable/Read/ReadVariableOp:0"
  attr {
    key: "Tin"
    value {
      list {
        type: DT_FLOAT
      }
    }
  }
  attr {
    key: "Tout"
    value {
      list {
        type: DT_STRING
      }
    }
  }
  attr {
    key: "_collective_manager_ids"
    value {
      list {
      }
    }
  }
  attr {
    key: "_read_only_resource_inputs"
    value {
      list {
      }
    }
  }
  attr {
    key: "config"
    value {
      s: ""
    }
  }
  attr {
    key: "config_proto"
    value {
      s: "\202\001\0008\0012\002J\000\n\007\n\003CPU\020\001\n\007\n\003GPU\020\000"
    }
  }
  attr {
    key: "executor_type"
    value {
      s: ""
    }
  }
  attr {
    key: "f"
    value {
      func {
        name: "__inference__write_checkpoint_3560"
      }
    }
  }
}
library {
  function {
    signature {
      name: "__inference__write_checkpoint_3560"
      input_arg {
        name: "savev2_variable_read_readvariableop"
        type: DT_FLOAT
      }
      output_arg {
        name: "identity_1"
        type: DT_STRING
      }
      is_stateful: true
      control_output: "MergeV2Checkpoints"
    }
    node_def {
      name: "Const"
      op: "Const"
      device: "/device:CPU:0"
      attr {
        key: "dtype"
        value {
          type: DT_STRING
        }
      }
      attr {
        key: "value"
        value {
          tensor {
            dtype: DT_STRING
            tensor_shape {
            }
            string_val: "util_test_1"
          }
        }
      }
    }
    node_def {
      name: "Const_1"
      op: "Const"
      device: "/device:CPU:0"
      attr {
        key: "dtype"
        value {
          type: DT_STRING
        }
      }
      attr {
        key: "value"
        value {
          tensor {
            dtype: DT_STRING
            tensor_shape {
            }
            string_val: "\n\007\n\005\022\001v\010\001\n:\0228\n\016VARIABLE_VALUE\022\010Variable\032\034v/.ATTRIBUTES/VARIABLE_VALUE"
          }
        }
      }
    }
    node_def {
      name: "StaticRegexFullMatch"
      op: "StaticRegexFullMatch"
      input: "Const:output:0"
      device: "/device:CPU:*"
      attr {
        key: "pattern"
        value {
          s: "^s3://.*"
        }
      }
    }
    node_def {
      name: "Const_2"
      op: "Const"
      device: "/device:CPU:*"
      attr {
        key: "dtype"
        value {
          type: DT_STRING
        }
      }
      attr {
        key: "value"
        value {
          tensor {
            dtype: DT_STRING
            tensor_shape {
            }
            string_val: ".part"
          }
        }
      }
    }
    node_def {
      name: "Const_3"
      op: "Const"
      device: "/device:CPU:*"
      attr {
        key: "dtype"
        value {
          type: DT_STRING
        }
      }
      attr {
        key: "value"
        value {
          tensor {
            dtype: DT_STRING
            tensor_shape {
            }
            string_val: "_temp/part"
          }
        }
      }
    }
    node_def {
      name: "Select"
      op: "Select"
      input: "StaticRegexFullMatch:output:0"
      input: "Const_2:output:0"
      input: "Const_3:output:0"
      device: "/device:CPU:*"
      attr {
        key: "T"
        value {
          type: DT_STRING
        }
      }
    }
    node_def {
      name: "StringJoin"
      op: "StringJoin"
      input: "Const:output:0"
      input: "Select:output:0"
      device: "/device:CPU:*"
      attr {
        key: "N"
        value {
          i: 2
        }
      }
      attr {
        key: "separator"
        value {
          s: ""
        }
      }
    }
    node_def {
      name: "num_shards"
      op: "Const"
      attr {
        key: "dtype"
        value {
          type: DT_INT32
        }
      }
      attr {
        key: "value"
        value {
          tensor {
            dtype: DT_INT32
            tensor_shape {
            }
            int_val: 1
          }
        }
      }
    }
    node_def {
      name: "ShardedFilename/shard"
      op: "Const"
      device: "/device:CPU:0"
      attr {
        key: "dtype"
        value {
          type: DT_INT32
        }
      }
      attr {
        key: "value"
        value {
          tensor {
            dtype: DT_INT32
            tensor_shape {
            }
            int_val: 0
          }
        }
      }
    }
    node_def {
      name: "ShardedFilename"
      op: "ShardedFilename"
      input: "StringJoin:output:0"
      input: "ShardedFilename/shard:output:0"
      input: "num_shards:output:0"
      device: "/device:CPU:0"
    }
    node_def {
      name: "SaveV2/tensor_names"
      op: "Const"
      device: "/device:CPU:0"
      attr {
        key: "dtype"
        value {
          type: DT_STRING
        }
      }
      attr {
        key: "value"
        value {
          tensor {
            dtype: DT_STRING
            tensor_shape {
              dim {
                size: 2
              }
            }
            string_val: "v/.ATTRIBUTES/VARIABLE_VALUE"
            string_val: "_CHECKPOINTABLE_OBJECT_GRAPH"
          }
        }
      }
    }
    node_def {
      name: "SaveV2/shape_and_slices"
      op: "Const"
      device: "/device:CPU:0"
      attr {
        key: "dtype"
        value {
          type: DT_STRING
        }
      }
      attr {
        key: "value"
        value {
          tensor {
            dtype: DT_STRING
            tensor_shape {
              dim {
                size: 2
              }
            }
            string_val: ""
          }
        }
      }
    }
    node_def {
      name: "SaveV2"
      op: "SaveV2"
      input: "ShardedFilename:filename:0"
      input: "SaveV2/tensor_names:output:0"
      input: "SaveV2/shape_and_slices:output:0"
      input: "savev2_variable_read_readvariableop"
      input: "Const_1:output:0"
      device: "/device:CPU:0"
      attr {
        key: "dtypes"
        value {
          list {
            type: DT_FLOAT
            type: DT_STRING
          }
        }
      }
    }
    node_def {
      name: "MergeV2Checkpoints/checkpoint_prefixes"
      op: "Pack"
      input: "ShardedFilename:filename:0"
      input: "^SaveV2"
      device: "/device:CPU:0"
      attr {
        key: "N"
        value {
          i: 1
        }
      }
      attr {
        key: "T"
        value {
          type: DT_STRING
        }
      }
      attr {
        key: "axis"
        value {
          i: 0
        }
      }
    }
    node_def {
      name: "MergeV2Checkpoints"
      op: "MergeV2Checkpoints"
      input: "MergeV2Checkpoints/checkpoint_prefixes:output:0"
      input: "Const:output:0"
      device: "/device:CPU:0"
      attr {
        key: "delete_old_dirs"
        value {
          b: true
        }
      }
    }
    node_def {
      name: "Identity"
      op: "Identity"
      input: "Const:output:0"
      input: "^MergeV2Checkpoints"
      device: "/device:CPU:0"
      attr {
        key: "T"
        value {
          type: DT_STRING
        }
      }
    }
    node_def {
      name: "Identity_1"
      op: "Identity"
      input: "Identity:output:0"
      input: "^NoOp"
      attr {
        key: "T"
        value {
          type: DT_STRING
        }
      }
    }
    node_def {
      name: "NoOp"
      op: "NoOp"
      input: "^MergeV2Checkpoints"
    }
    ret {
      key: "identity_1"
      value: "Identity_1:output:0"
    }
    control_ret {
      key: "MergeV2Checkpoints"
      value: "MergeV2Checkpoints"
    }
    arg_attr {
      key: 0
      value {
        attr {
          key: "_output_shapes"
          value {
            list {
              shape {
              }
            }
          }
        }
      }
    }
  }
}
versions {
  producer: 725
  min_consumer: 12
}
